The accurate recording of a time a packet is sent or received is desirable for many applications. Timestamps can be used by network administrators for network diagnostics. For wireless networks, accurate time stamping can be useful for acquiring accurate location data for wireless nodes. Time stamping is also frequently employed in financial transaction and is used in industrial applications such as automation and control systems and power generation, transmission and distribution.
The most accurate place to time a packet is at the Physical Layer (PHY) interface or at the Media Access Control (MAC)/PHY interface where no flexible parsing occurs (for example the PHY or MAC cannot determine whether the timestamp can be discarded). The MAC is can be somewhat accurate if there are no PHY delays, but like the PHY no flexible parsing occurs. A forwarding controller (FC) or Central Processing Unit (CPU) coupled to the MAC can allow for flexible parsing, but is usually not accurate enough because of delays and jitter between the PHY, MAC and FC. Further complicating the problem is that devices such as switches frequently employ multiple PHY interfaces which should be synchronized.